package com.huey.utils.design.creation.factory;

/**
 * 工厂模式 --介绍类
 * @author xubo
 * @date 2022/3/29 16:54
 */
public class Introduce {


    /**
     * 定义：
     * ⼯⼚模式⼜称⼯⼚⽅法模式，是⼀种创建型设计模式，
     * 其在⽗类中提供⼀个创建对象的⽅法， 允许⼦类 决定实例化对象的类型。
     * 这种设计模式也是 Java 开发中最常⻅的⼀种模式，它的主要意图是定义⼀个创建对象的接⼝，让其⼦
     * 类⾃⼰决定实例化哪⼀个⼯⼚类，⼯⼚模式使其创建过程延迟到⼦类进⾏。
     * 简单说就是为了提供代码结构的扩展性，屏蔽每⼀个功能类中的具体实现逻辑。让外部可以更加简单的
     * 只是知道调⽤即可，同时，这也是去掉众多 ifelse 的⽅式。当然这可能也有⼀些缺点，⽐如需要实现
     * 的类⾮常多，如何去维护，怎样减低开发成本。但这些问题都可以在后续的设计模式结合使⽤中，逐步
     * 降低
     */


    /**
     * 它的优点； 避免创建者与具体的产品逻辑耦合 、 满⾜单⼀职责，
     * 每⼀个业务逻辑实现都在所属⾃⼰的类中完成 、 满⾜开闭原则，⽆需更改使⽤调⽤⽅就可以
     * 在程序中引⼊新的产品类型 。但这样也会带来⼀些问题，⽐如有⾮常多的奖品类型，那么实现的⼦
     * 类会极速扩张。因此也需要使⽤其他的模式进⾏优化，这些在后续的设计模式中会逐步涉及到
     */
}
